﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <cctype>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;

//在一行内输出str中里连续最长的数字串。
int main()
{
    string str, ret, sub;
    cin >> str;
    int n = str.size();
    for (int i = 0; i <= n; i++)
    {
        if (str[i] >= '0' && str[i] <= '9')
        {
            sub += str[i];
        }
        else
        {
            if (sub.size() > ret.size())
            {
                ret = sub;
            }
            else
            {
                sub.clear();
            }
        }
    }

    cout << ret << endl;
    return 0;
}


//给一个长度为 n 的数组，
//数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。
//例如输入一个长度为9的数组[1, 2, 3, 2, 2, 2, 5, 4, 2]。
//由于数字2在数组中出现了5次，超过数组长度的一半，因此输出2。
class Solution {
public:

    int MoreThanHalfNum_Solution(vector<int>& numbers)
    {
        unordered_map<int, int> hash;
        int size = numbers.size() / 2;
        for (auto x : numbers)
        {
            hash[x]++;
        }
        for (auto& [x, y] : hash)
        {
            if (y > size)
            {
                return x;
            }
        }
        return -1;
    }
};


//给你一个长度为 n 的整数数组 nums 和 一个目标值 target。
//请你从 nums 中选出三个整数，使它们的和与 target 最接近。
//
//返回这三个数的和。
class Solution
{
public:
    int threeSumClosest(vector<int>& nums, int target)
    {
        sort(nums.begin(), nums.end());
        long long best = INT_MAX, n = nums.size();
        auto update = [&](int cur)
        {

            if (abs(cur - target) < abs(best - target)) best = cur;
        };

        // 枚举 a
        for (int i = 0; i < n; i++)
        {
            // 保证和上一次枚举的元素不相等
            if (i > 0 && nums[i] == nums[i - 1]) continue;
            // 使用双指针枚举 b 和 c
            int left = i + 1, right = n - 1;
            while (left < right)
            {
                int sum = nums[i] + nums[left] + nums[right];
                // 如果和为 target 直接返回答案
                if (sum == target) return  target;
                update(sum);

                if (sum > target)
                {
                    int r = right - 1;
                    while (r > left && nums[r] == nums[right]) --r;
                    right = r;
                }
                else
                {
                    int l = left + 1;
                    while (l < right && nums[l] == nums[left]) l++;
                    left = l;
                }
            }
        }

        return best;

    }
};

//请你来实现一个 myAtoi(string s) 函数，
//使其能将字符串转换成一个 32 位有符号整数（类似 C / C++ 中的 atoi 函数）。
class Solution
{
public:
    int myAtoi(string s)
    {
        long long int ret = 0;
        int n = s.size();
        int flag = 1;
        int i = 0;
        while (i < n && s[i] == ' ') i++;
        if (s[i] == '-')
        {
            flag = -flag;
            i++;
        }
        else if (s[i] == '+') i++;
        while (s[i] >= '0' && s[i] <= '9')
        {
            if (ret > INT_MAX / 10 || (ret == INT_MAX / 10 && s[i] > '7'))
                return flag > 0 ? INT_MAX : INT_MIN;
            ret = ret * 10 + (s[i] - '0');
            i++;
        }

        return flag * ret;

    }
};

//给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。
//
//如果反转后整数超过 32 位的有符号整数的范围[−231, 231 − 1] ，就返回 0。
//
//假设环境不允许存储 64 位整数（有符号或无符号）。
class Solution
{
public:
    int reverse(int x)
    {
        int ret = 0;
        while (x != 0)
        {
            if (ret < INT_MIN / 10 || ret > INT_MAX / 10)  return 0;
            int digit = x % 10;
            x /= 10;
            ret = ret * 10 + digit;
        }

        return ret;
    }
};


//将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求，
//帮助她寻找有多少种插入办法可以使新串是一个回文串。
//如果字符串B插入的位置不同就考虑为不一样的办法。
#include <iostream>
#include <algorithm>
using namespace std;

bool is_reverse(string& str)
{
    string ret = str;
    reverse(str.begin(), str.end());
    return ret == str;
}
int main()
{
    string str1, str2;
    getline(cin, str1);
    getline(cin, str2);
    int count = 0;
    for (int i = 0; i <= str1.size(); i++)
    {
        string str = str1;
        str.insert(i, str2);
        if (is_reverse(str)) count++;
    }

    cout << count << endl;

}

int main()
{
    return 0;
}